iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Modern Web

網頁技術學習心得系列 第 13

JavaScript 筆記五(preventDefault)

  • 分享至 

  • xImage
  •  

阻止預設行為 e.preventDefault()

範例:

 let login = document.querySelector('.login-form')
 login.addEventListener('submit',function(e){
   e.preventDefault()
 })

這樣表單送出時,就不會使用 GET 方法,網址也不會多出那一串。

密碼核對功能:

設定使用者輸入密碼 & 再次輸入密碼是否相同,
相同:送出表單
不相同:不能送出表單,且彈出文字視窗兩次密碼不同,請再試一次。

let login = document.querySelector('.login-form')
login.addEventListener('submit',function(e){
  const input1 = document.querySelector('input[name=password]')
  const input2 = document.querySelector('input[name=password2]')
  if(input1.value !== input2.value){
    e.preventDefault()
    alert('兩次密碼不同,請再試一次。')
  }
})

input 預設輸入,我們來嘗試控制 input 無法輸入字母 e

js:

let element = document.querySelector('input[name=username]')
element.addEventListener('keypress',function(e){
  if(e.key ==='e'){
      e.preventDefault()
  }
  console.log(e.key)
})

鍵盤上按下 e 都無法輸入,但可以 log 出來 :

若在 window 上使用,將可以停止所有元素預設的事件行為:

JS:

window.addEventListener('click', function(e) {
  console.log(e.target)
  e.preventDefault
  }, true)
})

上一篇
JavaScript 筆記四(onSubmit)
下一篇
DOM 事件的冒泡與捕獲機制
系列文
網頁技術學習心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言